package com.tjsinfo.tjsoa.system.bo;

import java.util.List;

import com.tjsinfo.tjsoa.system.vo.TSystemDepartment;

/**
 * 系统部门BO
 * @author 王晓伟
 *
 */
public interface IDepartmentBo {
	/**
	 * 根据父ID查询子部门
	 * @param 父ID
	 * @return 子部门
	 */
	public List<TSystemDepartment> selectByParentID(String parentid);
	/**
	 * 根据父ID查询是否有子部门
	 * @param 父ID
	 * @return
	 */
	public Boolean isParentDepartment(String parentid);
	/**
	 * 部门查询分页
	 * @param 第几行
	 * @param 最大行数
	 * @return 系统部门List
	 */
	public List<TSystemDepartment> selectSystemDepartment(Integer first,Integer max);
	/**
	 * 返回部门行数
	 * @return
	 */
	public Integer SelectSystemDepartmentTotalLine();
	
	
	/**
	 * @生成带有人员的树
	 * @param departList
	 *            当前要生成部门树的部门对象数组
	 * @param userList
	 *            当前要生成人员树的人员对象数组
	 * @param nodeName
	 *            根节点的名称
	 * @return String
	 */
	public String save(TSystemDepartment department);
	public void update(TSystemDepartment department);
	public void delete(TSystemDepartment depart);
	public TSystemDepartment findById(String id);
	public boolean createPeoplesJS(String url,String nodeNamePeople);
	public boolean createOrganizeClickJS(String url,String nodeNamePeople);
	public boolean createAllOrganizeClickJS(String url,String nodeNamePeople);
	public boolean createAPeopleJS(String url,String sql,String nodeNamePeople);	
	public List<TSystemDepartment> selectAllDepartment();
}
